Customer relationship management (“CRM”) is a broadly recognized, widely-implemented strategy for managing and nurturing a company's interactions with clients and sales prospects. CRM may be implemented by software which utilizes a computer system to organize, automate, and synchronize business processes, including sales activities, marketing, customer service and technical support. Some of the overall goals of CRM include finding, attracting, and winning new clients, nurturing and retaining those clients the company already has, enticing former clients back into the fold, and reducing the costs of marketing and client service.
CRM software may include a pluggable eventing framework which may comprise, for example, an interface utilized to associate business logic with the creation of records in a CRM system. An eventing framework includes a semi-ordered collection of system and custom plug-ins for processing requests for information which occur in the CRM system (e.g., the creation of business records). In particular, plug-ins are organized by stages but there is no order within a stage. Currently, however, the eventing framework is restricted to code executing within the CRM system (i.e., a platform which may be a synchronous or asynchronous sandbox server), thus limiting external service integration with the CRM system. In particular, external or third-party systems which establish connections via “cloud-based” systems (and which may or may not themselves be hosted in the “cloud”) are unable to participate in the request processing of the eventing framework without having to upload code into the CRM system. It is with respect to these considerations and others that the various embodiments of the present invention have been made.